package com.bjfu.service.impl;

import com.bjfu.dto.UpdateMemberInfo;
import com.bjfu.mapper.UserInfoMapper;
import com.bjfu.mapper.UserMapper;
import com.bjfu.model.UserInfo;
import com.bjfu.service.TeammemberService;
import com.bjfu.utils.Result;
import com.bjfu.utils.ResultCodeEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class TeammemberServiceimpl implements TeammemberService {
    @Autowired
    private UserInfoMapper userInfoMapper;  // 假设你有一个UserMapper来处理数据库操作
    @Override
    public Result getStatus(Long user_id) {
        // 调用 userInfoMapper 查询指定 user_id 的审核状态
        String status = userInfoMapper.getStatusByUserId(user_id);

        // 判断查询结果是否为空
        if (status == null) {
            // 如果没有找到用户，返回错误信息
            return Result.build(null, ResultCodeEnum.USER_NOT_FOUND);
        }

        // 返回查询到的审核状态
        return Result.ok(status);
    }

    //更改团队成员信息

    @Override
    public Result updateInfo(UpdateMemberInfo updateMemberInfo) {
        UserInfo userInfo=userInfoMapper.getUserInfoById(updateMemberInfo.getUser_id());
        if(userInfo==null){
            return Result.build(null,ResultCodeEnum.USER_NOT_FOUND);//未找到该userID对应的用户
        }
        userInfo.setUserId(updateMemberInfo.getUser_id());          // 用户ID
        userInfo.setTeamId(1L);          // 团队ID
        userInfo.setName(updateMemberInfo.getName());              // 姓名
        userInfo.setAvatarUrl(updateMemberInfo.getAvatar_url());    // 头像URL
        userInfo.setResearchField(updateMemberInfo.getResearch_field()); // 研究方向
        userInfo.setStatus(1);          // 状态!!这里是待审核
        userInfo.setBio(updateMemberInfo.getBio());                // 个人简介
        userInfo.setEmail(updateMemberInfo.getEmail());
        System.out.println(userInfo);
        int result = userInfoMapper.updateUserInfo(userInfo);
        // 调用 UserInfoMapper 更新用户信息
        // 判断更新是否成功，返回结果
        if (result > 0) {
            return Result.ok(userInfo);  // 如果更新成功，返回成功的响应
        } else {
            return Result.build(null, ResultCodeEnum.UPDATE_FAILED);  // 更新失败，返回失败的响应
        }
    }


}
